package com.zlk.algorithm.huawei.nowcoder.string;


import java.util.Scanner;

/**
 * @program: algorithm
 * @ClassName HJ63DNA
 * @description:
 * 描述
 * 一个 DNA 序列由 A/C/G/T 四个字母的排列组合组成。 G 和 C 的比例（定义为 GC-Ratio ）
 * 是序列中 G 和 C 两个字母的总的出现次数除以总的字母数目（也就是序列长度）。
 * 在基因工程中，这个比例非常重要。因为高的 GC-Ratio 可能是基因的起始点。
 * 给定一个很长的 DNA 序列，以及限定的子串长度 N ，请帮助研究人员在给出的 DNA
 * 序列中从左往右找出 GC-Ratio 最高且长度为 N 的第一个子串。
 * DNA序列为 ACGT 的子串有: ACG , CG , CGT 等等，但是没有 AGT ， CT 等等
 * 数据范围：字符串长度满足
 * 1≤n≤1000  ，输入的字符串只包含 A/C/G/T 字母
 * 输入描述：
 * 输入一个string型基因序列，和int型子串的长度
 *
 * 输出描述：
 * 找出GC比例最高的子串,如果有多个则输出第一个的子串
 *
 * 题意节点就是找一个字符串中 指定长度已经指定字符占比最多得字串，从左到右取第一个
 * @author: slfang
 * @create: 2024-12-30 09:56
 * @Version 1.0
 **/
public class HJ63DNA {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String str = in.nextLine();
        int windLen = in.nextInt();
        int l = 0;
        int r = windLen-1;
        String ans = str.substring(l,r+1);
        int max = countVal(str.substring(l,r+1));
        l++;
        r++;
        while (r<str.length()){
            String sub = str.substring(l,r+1);
            int val = countVal(sub);
            if(val>max){
                max = val;
                ans = sub;
            }
            l++;
            r++;
        }
        System.out.println(ans);
    }

    private static int countVal(String subStr) {
        int val = 0;
        for (char c : subStr.toCharArray()) {
            if(c=='G'||c=='C'){
                val++;
            }
        }
        return val;
    }


}
